/************************************************************************

								Heroes IV
					  Copyright 2000, The 3DO Company

	------------------------------------------------------------------
  						       random_town.h

	$Header: /game/random_town.h $

	$NoKeywords: $

 ************************************************************************/

#ifndef RANDOM_TOWN_H_INCLUDED
#define RANDOM_TOWN_H_INCLUDED

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "abstract_town.h"
#include "linkage_data.h"
#include "skill_set.h"
#include "town_ptr.h"

// ---------------------------------------------------------------
// random town object
// ---------------------------------------------------------------
class t_random_town : public t_abstract_town
{
public:
	t_random_town( std::string const& source );
	virtual bool		 read_from_map( std::streambuf& buffer, t_progress_handler* );
	virtual void		 place( t_adventure_map& map, t_adv_map_point const& point );
	virtual bool		 preplacement( t_adventure_map& map, int pass );

protected:
	bool			m_custom_buildings;
	bool			m_custom_garrison;
	bool			m_customize_school_skills;
	t_linkage_data	m_linkage_info;
	t_skill_set		m_available_school_skills;
	t_skill_set		m_required_school_skills;
	t_town_ptr		m_town;
};

#endif // RANDOM_TOWN_H_INCLUDED